// import 'package:flutter/material.dart';
// import 'package:charts_flutter/flutter.dart' as charts;
// import 'dart:math';
// import 'package:magic_car/util/HttpHelper.dart';
// import 'package:shared_preferences/shared_preferences.dart';
// import 'package:toast/toast.dart';
// import 'dart:convert';
// import 'package:magic_car/util/timetool.dart';

// // class StaticsPage extends StatefulWidget {
// //   StaticsPage({Key key, this.title}) : super(key: key);

// //   final String title;

// //   @override
// //   _MyHomePageState createState() => new _MyHomePageState();
// // }

// // class ClicksPerYear {
// //   final String year;
// //   final int clicks;
// //   final charts.Color color;

// //   ClicksPerYear(this.year, this.clicks, Color color)
// //       : this.color = new charts.Color(
// //       r: color.red, g: color.green, b: color.blue, a: color.alpha);
// // }

// // class TimeSeriesSales {
// //   final DateTime time;
// //   final int sales;

// //   TimeSeriesSales(this.time, this.sales);
// // }
// // class SeriesDatas {
// //   final int time;
// //   final int data;

// //   SeriesDatas(this.time, this.data);
// // }

// // class _MyHomePageState extends State<StaticsPage> {
// //   int _counter = 7;

// //   final serialdata = [
// //     new SeriesDatas(1, 5),
// //       new SeriesDatas(2, 25),
// //       new SeriesDatas(3, 100),
// //       new SeriesDatas(4, 75),

// //   ];
// //   List<charts.Series<SeriesDatas, int>> seriesList = [
// //       new charts.Series<SeriesDatas, int>(
// //         id: 'line1',
// //         colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
// //         domainFn: (SeriesDatas sales, _) => sales.time,
// //         measureFn: (SeriesDatas sales, _) => sales.data,
// //         data: serialdata,
// //       ),

// //     ];
// //   Random random = new Random();

// //   void _incrementCounter() {
// //     setState(() {
// //       _counter++;
// //      // serialdata.add(new TimeSeriesSales(new DateTime(2017, 9, _counter), random.nextInt(100)));
// //     });
// //   }

// //   @override
// //   Widget build(BuildContext context) {
// //     var chart = new charts.LineChart(
// //       serialdata,
// //       animate: true,
// //       behaviors: [
// //         new charts.SeriesLegend(
// //           // 图例位置 在左侧start 和右侧end
// //           position: charts.BehaviorPosition.end,
// //           // 图例条目  [horizo​​ntalFirst]设置为false，图例条目将首先作为新行而不是新列增长
// //           horizontalFirst: false,
// //           // 每个图例条目周围的填充Padding
// //           cellPadding: new EdgeInsets.only(right: 4.0, bottom: 4.0),
// //           // 显示度量
// //           showMeasures: true,
// //           // 度量格式
// //           measureFormatter: (num value) {
// //             return value == null ? '-' : '${value}k';
// //           },
// //         ),
// //       ],
// //     );

// //     return new Scaffold(
// //       appBar: new AppBar(
// //         backgroundColor: Colors.white,
// //         title: new Text('统计'),
// //       ),
// //       body: new Center(
// //         child: new Column(
// //           children: <Widget>[
// //             chartWidget,
// //           ],
// //         ),
// //       ),
// //       floatingActionButton: new FloatingActionButton(
// //         onPressed: _incrementCounter,
// //         tooltip: 'Increment',
// //         child: new Icon(Icons.add),
// //       ),
// //     );
// //   }
// // }

// class StaticsPage extends StatefulWidget {
//   @override
//   _ChartPageState createState() => new _ChartPageState();
// }

// class SeriesDatas {
//   final int time;
//   final int data;

//   SeriesDatas(this.time, this.data);
// }

// class _ChartPageState extends State<StaticsPage> {
//   Widget top() {
//     return new Padding(
//         padding: new EdgeInsets.fromLTRB(5, 15, 5, 10),
//         child: Container(
//           height: 40,
//           child: new Row(
//               crossAxisAlignment: CrossAxisAlignment.center,
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: <Widget>[
//                 Padding(
//                     padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
//                     child: new Container(
//                         color: Color.fromRGBO(27, 182, 251, 1),
//                         child: new Padding(
//                             padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
//                             child: Text(
//                               '已完成：'+finish_num,
//                               style:
//                                   TextStyle(color: Colors.white, fontSize: 13),
//                             )))),
//                 Padding(
//                     padding: EdgeInsets.fromLTRB(20, 10, 20, 0),
//                     child: new Container(
//                         color: Color.fromRGBO(27, 182, 251, 1),
//                         child: new Padding(
//                             padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
//                             child: Text(
//                               '总计：'+total_num,
//                               style:
//                                   TextStyle(color: Colors.white, fontSize: 13),
//                             )))),
//                 Padding(
//                     padding: EdgeInsets.fromLTRB(0, 10, 0, 0),
//                     child: new Container(
//                         color: Color.fromRGBO(27, 182, 251, 1),
//                         child: new Padding(
//                             padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
//                             child: Text(
//                               '未完成：'+nofinish_num,
//                               style:
//                                   TextStyle(color: Colors.white, fontSize: 13),
//                             )))),
//               ]),
//         ));
//   }

//   Widget _shareWidget() {
//     return new Container(
//       height: 300.0,
//       child: new Column(
//         children: <Widget>[
//           new Padding(
//             padding: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 0.0),
//             child: new Container(
//               height: 190.0,
//               child: new GridView.builder(
//                 gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
//                     crossAxisCount: 4,
//                     mainAxisSpacing: 5.0,
//                     childAspectRatio: 1.0),
//                 itemBuilder: (BuildContext context, int index) {
//                   var item = insepcetor[index];
//                   return new GestureDetector(
//                       onTap: () {
//                         Navigator.of(context).pop();
//                         //选择检测师
//                         setState(() {
//                           current = item;
//                           insepctor_str = item['name'];
//                           site_id = item['id'];
//                           loadOrderData();
//                         });
//                       },
//                       child: new Column(
//                         children: <Widget>[
//                           new Padding(
//                               padding: EdgeInsets.fromLTRB(0.0, 6.0, 0.0, 6.0),
//                               child: new Container(
//                                   decoration: new BoxDecoration(
//                                     border: new Border.all(
//                                         color: Color.fromRGBO(27, 182, 251, 1),
//                                         width: 0.5), // 边色与边宽度
//                                     color: Color(0xFF9E9E9E), // 底色
//                                     //        borderRadius: new BorderRadius.circular((20.0)), // 圆角度
//                                     borderRadius: new BorderRadius.circular(
//                                         25), // 也可控件一边圆角大小
//                                   ),
//                                   height: 50,
//                                   width: 50,
//                                   child: ClipRRect(
//                                     borderRadius: BorderRadius.circular(25),
//                                     child: FadeInImage.assetNetwork(
//                                       placeholder:
//                                           "resource/images/user/user6.png",
//                                       image: item['avatar'],
//                                       fit: BoxFit.cover,
//                                     ),
//                                   ))),
//                          Expanded(child:  new Text(item['name']))
//                         ],
//                       ));
//                 },
//                 itemCount: insepcetor.length,
//               ),
//             ),
//           ),
//           new Container(
//             height: 0.5,
//             color: Colors.blueGrey,
//           ),
//           new Center(
//             child: new Padding(
//               padding: EdgeInsets.fromLTRB(0.0, 8.0, 0.0, 8.0),
//               child: GestureDetector(
//                   behavior: HitTestBehavior.opaque,
//                   onTap: () {
//                     Navigator.of(context).pop();
//                     setState(() {
//                        insepctor_str = '站点';
//                           site_id = '';
//                     });
//                     loadOrderData();
//                   },
//                   child: new Text(
//                     '全  部',
//                     style:
//                         new TextStyle(fontSize: 18.0, color: Colors.blueGrey),
//                   )),
//             ),
//           ),
//           new Center(
//             child: new Padding(
//               padding: EdgeInsets.fromLTRB(0.0, 8.0, 0.0, 8.0),
//               child: GestureDetector(
//                   behavior: HitTestBehavior.opaque,
//                   onTap: () {
//                     Navigator.of(context).pop();
//                   },
//                   child: new Text(
//                     '取  消',
//                     style:
//                         new TextStyle(fontSize: 18.0, color: Colors.blueGrey),
//                   )),
//             ),
//           ),
//         ],
//       ),
//     );
//   }

//   Widget dateView() {
//     List<Widget> tiles = [];
//     Widget content;
//     for (var item in dates) {
//       tiles.add(GestureDetector(
//           onTap: () {
//             setState(() {
//               time_str = item;
//             });
//             caculatorDays(item);

//             Navigator.of(context).pop();
//           },
//           child: Container(height: 40, child: Center(child: new Text(item)))));
//     }

//     content = new Column(
//         children: tiles //重点在这里，因为用编辑器写Column生成的children后面会跟一个<Widget>[]，
//         //此时如果我们直接把生成的tiles放在<Widget>[]中是会报一个类型不匹配的错误，把<Widget>[]删了就可以了
//         );
//     return content;
//   }

//   Widget showDate() {
//     return new Container(
//       height: 300.0,
//       child: new Column(
//         children: <Widget>[
//           new Padding(
//             padding: EdgeInsets.fromLTRB(0.0, 10.0, 0.0, 0.0),
//             child: new Container(
//                 height: 240.0,
//                 child: new ListView(children: <Widget>[dateView()])),
//             // child: new Container(
//             //   height: 240.0,

//             //   )
//             //     },
//             //     itemCount: insepcetor.length,
//             //   ),
//             // ),
//           ),
//           new Container(
//             height: 0.5,
//             color: Colors.blueGrey,
//           ),
//           new Center(
//             child: new Padding(
//               padding: EdgeInsets.fromLTRB(0.0, 8.0, 0.0, 8.0),
//               child: GestureDetector(
//                   behavior: HitTestBehavior.opaque,
//                   onTap: () {
//                     Navigator.of(context).pop();
//                   },
//                   child: new Text(
//                     '取  消',
//                     style:
//                         new TextStyle(fontSize: 18.0, color: Colors.blueGrey),
//                   )),
//             ),
//           ),
//         ],
//       ),
//     );
//   }

//   Widget condition() {
//     return new Padding(
//         padding: new EdgeInsets.fromLTRB(5, 0, 5, 10),
//         child: Container(
//           height: 40,
//           child: new Row(
//               crossAxisAlignment: CrossAxisAlignment.center,
//               mainAxisAlignment: MainAxisAlignment.center,
//               children: <Widget>[
//                 Padding(
//                     padding: EdgeInsets.fromLTRB(5, 10, 10, 0),
//                     child: new GestureDetector(
//                         onTap: () {
//                           //选择检测师
//                           showModalBottomSheet(
//                               context: context,
//                               builder: (BuildContext context) {
//                                 return _shareWidget();
//                               });
//                         },
//                         child: Container(
//                             padding: new EdgeInsets.fromLTRB(5, 2, 5, 2),
//                             color: Color.fromRGBO(27, 182, 251, 1),
//                             child: new Text(
//                               insepctor_str,
//                               style: TextStyle(
//                                   color: Color.fromRGBO(255, 255, 255, 1),
//                                   fontSize: 12),
//                             )))),
//                 Padding(
//                     padding: EdgeInsets.fromLTRB(5, 10, 20, 0),
//                     child: new GestureDetector(
//                         onTap: () async {
//                           FocusScope.of(context).requestFocus(FocusNode());
//                           showModalBottomSheet(
//                               context: context,
//                               builder: (BuildContext context) {
//                                 return showDate();
//                               });

//                           // DateTime _date = DateTime.now();
//                           // //选择时间
//                           // final DateTime picked = await showDatePicker(
//                           //     context: context,
//                           //     initialDate: _date,
//                           //     firstDate: DateTime(2015, 8),
//                           //     lastDate: DateTime(2101));
//                           // if (picked != null && picked != _date)
//                           //   print("data selectied :${_date.toString()}");
//                           // setState(() {
//                           //   _date = picked;
//                           // });
//                         },
//                         child: Container(
//                             padding: new EdgeInsets.fromLTRB(5, 2, 5, 2),
//                             color: Color.fromRGBO(27, 182, 251, 1),
//                             child: new Text(
//                               time_str,
//                               style: TextStyle(
//                                   color: Color.fromRGBO(255, 255, 255, 1),
//                                   fontSize: 12),
//                             )))),
//               ]),
//         ));
//   }

//   // 折线图
//   Widget _chartWidget() {
//     final serial1data = [
//       new SeriesDatas(1, 5),
//       new SeriesDatas(2, 25),
//       new SeriesDatas(3, 100),
//       new SeriesDatas(4, 75),
//       new SeriesDatas(5, 5),
//       new SeriesDatas(6, 25),
//       new SeriesDatas(7, 100),
//       new SeriesDatas(8, 103),
//       new SeriesDatas(9, 105),
//       new SeriesDatas(10, 108),
//       new SeriesDatas(11, 109),
//       new SeriesDatas(12, 110),
//       new SeriesDatas(13, 100),
//       new SeriesDatas(14, 103),
//       new SeriesDatas(15, 104),
//       new SeriesDatas(16, 102),
//       new SeriesDatas(17, 101),
//       new SeriesDatas(18, 107),
//       new SeriesDatas(19, 106),
//       new SeriesDatas(20, 105),
//       new SeriesDatas(21, 109),
//       new SeriesDatas(22, 105),
//       new SeriesDatas(23, 107),
//       new SeriesDatas(24, 109),
//       new SeriesDatas(25, 104),
//       new SeriesDatas(26, 103),
//       new SeriesDatas(27, 101),
//       new SeriesDatas(28, 100),
//       new SeriesDatas(29, 109),
//       new SeriesDatas(30, 118),
//     ];

//     final serial2data = [
//       new SeriesDatas(1, 3),
//       new SeriesDatas(2, 20),
//       new SeriesDatas(3, 60),
//       new SeriesDatas(4, 55),
//       new SeriesDatas(5, 5),
//       new SeriesDatas(6, 15),
//       new SeriesDatas(7, 70),
//       new SeriesDatas(8, 90),
//       new SeriesDatas(9, 99),
//       new SeriesDatas(10, 80),
//       new SeriesDatas(11, 100),
//       new SeriesDatas(12, 100),
//       new SeriesDatas(13, 100),
//       new SeriesDatas(14, 100),
//       new SeriesDatas(15, 100),
//       new SeriesDatas(16, 100),
//       new SeriesDatas(17, 100),
//       new SeriesDatas(18, 100),
//       new SeriesDatas(19, 100),
//       new SeriesDatas(20, 100),
//       new SeriesDatas(21, 100),
//       new SeriesDatas(22, 100),
//       new SeriesDatas(23, 100),
//       new SeriesDatas(24, 100),
//       new SeriesDatas(25, 100),
//       new SeriesDatas(26, 100),
//       new SeriesDatas(27, 100),
//       new SeriesDatas(28, 100),
//       new SeriesDatas(29, 100),
//       new SeriesDatas(30, 100),
//     ];
//     List<charts.Series<SeriesDatas, int>> seriesList = [
//       new charts.Series<SeriesDatas, int>(
//         id: '总订单',
//         colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
//         domainFn: (SeriesDatas sales, _) => sales.time,
//         measureFn: (SeriesDatas sales, _) => sales.data,
//         data: totalData,
//       ),
//       new charts.Series<SeriesDatas, int>(
//         id: '已完成',
//         colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
//         domainFn: (SeriesDatas sales, _) => sales.time,
//         measureFn: (SeriesDatas sales, _) => sales.data,
//         data: finishData,
//       )
//     ];

//     var chart = new charts.LineChart(
//       seriesList,
//       animate: true,
//       behaviors: [
//         new charts.SeriesLegend(
//           // 图例位置 在左侧start 和右侧end
//           position: charts.BehaviorPosition.bottom,
//           // 图例条目  [horizo​​ntalFirst]设置为false，图例条目将首先作为新行而不是新列增长
//           // horizontalFirst: false,
//           // 每个图例条目周围的填充Padding
//           // cellPadding: new EdgeInsets.only(right: 4.0, bottom: 4.0),
//           // 显示度量
//           showMeasures: true,
//           // 度量格式
//           // measureFormatter: (num value) {
//           //   return value == null ? '-' : '${value}单';
//           // },
//         ),
//       ],
//     );
//     return new Container(height: 300, child: chart);
//     // return new Card(
//     //   child: Container(
//     //     padding: new EdgeInsets.fromLTRB(5, 10, 5, 20),
//     //     margin: new EdgeInsets.only(bottom: 20),
//     //     child: Column(
//     //       crossAxisAlignment: CrossAxisAlignment.start,
//     //       children: <Widget>[
//     //         new Center(
//     //           child: new Text(
//     //             'xxxx (折线图)',
//     //             style: TextStyle(
//     //               color: Color.fromRGBO(0, 0, 0, 1.0), //opacity：不透明度
//     //               fontFamily: 'PingFangBold',
//     //               fontSize: 15.0,
//     //             ),
//     //           ),
//     //         ),
//     //         new Padding(
//     //           padding: new EdgeInsets.all(10.0),
//     //           child: new SizedBox(
//     //             height: 200.0,
//     //             child: chart,
//     //           ),
//     //         )
//     //       ],
//     //     ),
//     //   ),
//     // );
//   }

//   @override
//   Widget build(BuildContext context) {
//     return new Scaffold(
//       appBar: new AppBar(
//         title: new Text(
//           '统计',
//           style: TextStyle(color: Colors.black),
//         ),
//         backgroundColor: Colors.white,
//         elevation: 0,
//         iconTheme: IconThemeData(
//           color: Colors.black, //修改颜色
//         ),
//       ),
//       body: new Center(
//         child: new ListView(
//           children: <Widget>[
//             top(),
//             condition(),
//             Padding(
//                 padding: new EdgeInsets.fromLTRB(5, 2, 5, 2),
//                 child: new Text('*折线图只展示一个月数据')),
//             _chartWidget(),
//           ],
//         ),
//       ),
//     );
//   }

//   @override
//   void initState() {
//     // TODO: implement initState
//     super.initState();
//     timenows();
//     loadOrderData();
//     loadData();
//   }

//   //获取当前天数
//   timenows() {
//     int timestemp = new DateTime.now().millisecondsSinceEpoch;
//     String day = DateUtils.instance
//         .getFormartData(timeSamp: timestemp, format: 'yyy-MM-dd');
//     List temparr1 = day.split('-');
//     setState(() {
//       Start_time=temparr1[0].toString()+'-'+temparr1[1].toString()+'-'+'01 00:00';
//       End_time = day+' 23:59';
//     });
//     print(Start_time);
//     print(End_time);
    
//     var days = temparr1[2];
//     for (var i = 1; i < int.parse(days) + 1; i++) {
//       var item = new SeriesDatas(i, 0);
//       totalData.add(item);
//       finishData.add(item);
      
//     }
//     setState(() {
//       totalData = totalData;
//       finishData = finishData;
//     });
//   }

//   List insepcetor = new List();
//   Map current = new Map();
//   String insepctor_str = '站点';
//   String time_str = '时间';

//   String total_num = '0';
//   String finish_num = "0";
//   String nofinish_num = "0";

//   List dates = [
//     '2019-01',
//     '2019-02',
//     '2019-03',
//     '2019-04',
//     '2019-05',
//     '2019-06',
//     '2019-07',
//     '2019-08',
//     '2019-09',
//     '2019-10',
//     '2019-11',
//     '2019-12',
//     '2020-01',
//     '2020-02',
//     '2020-03',
//     '2020-04',
//     '2020-05',
//     '2020-06',
//     '2020-07',
//     '2020-08',
//     '2020-09',
//     '2020-10',
//     '2020-11',
//     '2020-12',
//   ];
//   List totalData = new List<SeriesDatas>();
//   List finishData = new List<SeriesDatas>();
//   String Start_time = "";
//   String End_time = "";
//   String site_id = '';

//   //计算月份有多少天
//   caculatorDays(str) {
//     totalData.clear();//清空数组
//     finishData.clear();//清空数组
//     List tempArr = str.split('-');
//     String mothData = DateUtils.instance.getEndMothFor(
//         mothFormart: tempArr[0] + '-' + tempArr[1] + '-01',
//         format: "yyy-MM-dd");
//     List temparr1 = mothData.split('-');
//     //取到月份的最后一天
//     print(mothData);
//     var days = temparr1[2];
//     for (var i = 1; i <int.parse( days) + 1; i++) {
//       var item = new SeriesDatas(i, 0);
//       totalData.add(item);
//       finishData.add(item);
//     }
//     setState(() {
//       totalData = totalData;
//       finishData = finishData;
//     });

//     setState(() {
//       Start_time=temparr1[0].toString()+'-'+temparr1[1].toString()+'-'+'01 00:00';
//       End_time = mothData+' 23:59';
//     });
//     loadOrderData();
//   }

//   //加载站点数据
//   loadData() async {
//     Map<String, String> map = new Map();
//     SharedPreferences pref = await SharedPreferences.getInstance();
//     map["pid"] = pref.getString('uid');
//     // map["page"] = page.toString();
//     // map["keyword"] = keyword;
   
//     // map["type"] = "1";
//     // var role = pref.getString('role');
//     // if (role == '1') {
//     //   map['type'] = '2';
//     // }
//     print(map);

//     HttpHelper.post(HttpHelper.API_GetSites, (data) async {
//       if (data != null) {
//         print(data);
//         setState(() {
//           insepcetor = data['info'];
//         });
//       }
//     }, params: map);
//   }

//   loadOrderData() async {
//     Map<String, String> map = new Map();
//     SharedPreferences pref = await SharedPreferences.getInstance();
//     map["id"] = pref.getString('uid');
//     // map["page"] = page.toString();
//     // map["keyword"] = keyword;
//     map["type"] = "2";
//      map['start']=Start_time;
//     map['end']=End_time;
//     if(site_id!='')
//     {
//       map['type']='1';
//       map['id']=site_id;
//     }
   
//     print(map);

//     HttpHelper.post(HttpHelper.API_OrderCount, (data) async {
//       if (data != null) {
//         print(data);
//         int total = 0;
//         int finish = 0;
//         for(var item in data['info']['total']){
//          total =total+ int.parse(item['count']);
//         }
//         for(var item in data['info']['finish']){
//          finish = finish+int.parse(item['count']);
//         }
//         setState(() {
//           total_num = total.toString();
//           finish_num = finish.toString();
//           nofinish_num = (total-finish).toString();
//         });
//       List tempSerice = new List<SeriesDatas>();
//         for(SeriesDatas item in finishData){

//           var datas = new SeriesDatas(item.time, 0);
//           for(var items in data['info']['finish']){
//             String times = items['times'];
//             List temp = times.split('-');
//             int day = int.parse(temp[2]);
            
//             if(day==item.time){
//                datas = new SeriesDatas(item.time, int.parse(items['count']));
//             }else{
//                datas = new SeriesDatas(item.time, 0);
//             }
//           }
//           tempSerice.add(datas);
//         }

//          List tempSerice1 = new List<SeriesDatas>();
//         for(SeriesDatas item in totalData){

//           var datas = new SeriesDatas(item.time, 0);
//           for(var items in data['info']['total']){
//             String times = items['times'];
//             List temp = times.split('-');
//             int day = int.parse(temp[2]);
            
//             if(day==item.time){
//               datas = new SeriesDatas(item.time, int.parse(items['count']));
//               //  datas = new SeriesDatas(item.time, int.parse(items['count']));
//             }else{
//                datas = new SeriesDatas(item.time, 0);
//             }
//           }
//           tempSerice1.add(datas);
//         }
//         setState(() {
//           finishData = tempSerice;
//           totalData = tempSerice1;
//         });

//         print(totalData);
       
//       }
//     }, params: map);
//   }
// }
